package com.jackstraw.jack_base.rules.service;

import com.jackstraw.jack_base.datasource.mybatis.base.service.MyBatisService;
import com.jackstraw.jack_base.rules.dao.database.RuleDao;
import com.jackstraw.jack_base.rules.entity.bo.RuleBo;
import com.jackstraw.jack_base.rules.entity.po.RuleKeyPo;
import com.jackstraw.jack_base.rules.entity.po.RulePo;
import com.jackstraw.jack_base.rules.entity.po.RulePoExample;

import java.util.List;

/**
 * 规则表  service接口
 *
 * @author zhaozhao 945514650@qq.com
 * @since version:1.0 generatorDate:2022-12-04 14:28:29
 */
public interface RuleService
        extends MyBatisService<RuleDao, RulePo, RuleBo, RuleKeyPo<RulePo>, RulePoExample> {

    /**
     * 通过RuleId查询规则
     * 不包含规则所需导入的包
     *
     * @param ruleId
     * @return
     */
    RuleBo getOne(Long ruleId);

    /**
     * 通过RuleId查询规则
     * 包含规则所需导入的包
     *
     * @param ruleId
     * @return
     */
    RuleBo getOneAll(Long ruleId);

    /**
     * 通过ruleGroupId查询对应的规则
     *
     * @param ruleGroupId
     * @return
     */
    List<RuleBo> getAllByRuleGroupId(Long ruleGroupId);

}